<?php
/**
 * CSS loader
 *
 * @package OWL
 * @subpackage HTTP
 * @since 1.0
 */

define('APS_PATH',dirname(__FILE__)."/");
require_once (APS_PATH.'config.php');
require_once (APS_PATH.'classes/owl-script.php');
include_once (APS_PATH."default-scripts.php");

function get_file($path) {
	if ( function_exists('realpath') )
		$path = realpath($path);
	if ( ! $path || ! @is_file($path) )
		return '';
	return @file_get_contents($path);
}

$load = preg_replace( '/[^a-z0-9,_-]+/i', '', $_GET['load'] );
$handles = explode(',', $load);

if ( empty($load) )
	exit;

$compress = ( isset($_GET['c']) && $_GET['c'] );
$force_gzip = ( $compress && 'gzip' == $_GET['c'] );
$expires_offset = 31536000;
$out = '';

foreach( $handles as $handle ) {
	if ( !array_key_exists($handle,$script_control->registered_script) )
		continue;
	$script = $script_control->registered_script[$handle];
	$path = APS_PATH . $script['src'];
	$content = get_file($path) . "\n";
	$out .= $content;
}
if ( get_magic_quotes_runtime() )
    $out = stripcslashes($out);
$out = preg_replace('/url\s*:\s*["\'](.+)["\'],/', 'url:"' . SITE_URL . '${1}",', $out);

header('Content-Type: application/x-javascript; charset=UTF-8');
header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
header("Cache-Control: public, max-age=$expires_offset");

if ( $compress && ! ini_get('zlib.output_compression') && 'ob_gzhandler' != ini_get('output_handler') ) {
	header('Vary: Accept-Encoding'); // Handle proxies
	if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) {
		header('Content-Encoding: deflate');
		$out = gzdeflate( $out, 3 );
	} elseif ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && function_exists('gzencode') ) {
		header('Content-Encoding: gzip');
		$out = gzencode( $out, 3 );
	}
}

echo $out;
exit;

